import os
import pytest
from const import CASE_DIR, DATA_DIR, HTML_DIR
import pytest
import os

if __name__ == '__main__':
    # 执行测试用例
    # pytest.main() 用于调用pytest执行测试
    # 参数说明：
    # - '-sv'：-s显示打印信息（禁用捕获输出），-v显示详细的测试结果（每个用例的执行情况）
    # - str(CASE_DIR)：指定测试用例所在的目录（即之前定义的case文件夹）
    # - '--alluredir'：指定Allure报告的原始数据存放目录
    # - str(DATA_DIR)：Allure原始数据（如步骤、结果等）的输出路径（之前定义的data文件夹）
    pytest.main(['-sv', str(CASE_DIR), '--alluredir', str(DATA_DIR)])

    # 生成HTML测试报告
    # os.system() 用于执行系统命令
    # allure generate 命令：将Allure原始数据（DATA_DIR）转换为HTML报告
    # 参数说明：
    # - {DATA_DIR}：输入目录（存放测试原始数据的路径）
    # - -o {HTML_DIR}：指定输出目录（HTML报告的存放路径，之前定义的html文件夹）
    # - --single-file：生成单文件HTML报告（便于分享和打开，默认是多文件目录）
    os.system(f'allure generate {DATA_DIR} -o {HTML_DIR} --single-file')